/**
 * Created by Nico on 2016/1/5.
 */
var async = require('async');
var BaseData = require('../model/core_base/base.js');
module.exports = {
    //省编辑页面
    add_or_edit_province:function(req,res,next){
        console.log(req.query)
        res.render('basedata/addProvince');
    },
    //城市编辑页面
    add_or_edit_city:function(req,res,next){
        if(req.query.hasOwnProperty('city')){
            //编辑
            res.render('basedata/addCity',{city:req.query.city});
        }else{
            //新增
            res.render('basedata/addCity',{city:''});
        }
    },
    add_or_edit_user:function(req,res,next){
        if(req.query.hasOwnProperty('user')){
            //编辑
            res.render('basedata/addUser',{user:req.query.user});
        }else{
            //新增
            res.render('basedata/addUser',{user:''});
        }
    },
    //对area表的操作
    save_area:function(req,res,next){
        var province = req.query ;
        province['status']=1;
        BaseData.upsert({model:'Area',data:province}).then(function(data){
            res.json(data);
        });
    },
    show_area_list:function(req,res,next){
        BaseData.all({model:'Area',where:req.query}).then(function(data){
            //res.render('addCity',{provinceList:data});
            res.json(data);
        });
    },
    save_user_with_area:function(req,res,next){
        //需要同时保存用户信息和用户城市关系信息，用户表：gr_ucenter_member，用户城市关系表：gr_user_area_relation
        //Ucenter_Member,User_Area_Relation
        var user_info = JSON.parse(req.query.user_info) ;
        var user_area_relation = req.query.user_area_relation;
        console.log("dsfdsfs");
        console.log(user_info);
        async.waterfall([
            function(cb){
                BaseData.upsert({model:'Ucenter_Member',data:user_info}).then(function(data){
                    cb(null, data);
                }).catch(function(err){
                    cb({code:-1,msg:err});
                });
            },
            function(userinfo,cb){
                cb(null, {code:0});
                async.eachSeries(user_area_relation,function(eachInfo,cb1){
                    var each=JSON.parse(eachInfo);
                    BaseData.upsert({model:'User_Area_Relation',data:{uid:userinfo.id,areaid:each}}).then(function(data){
                        cb1(null, {code:0});
                    }).catch(function(){
                        cb1(null, {code:-1});
                    });
                },function(){
                    cb(null, {code:0});
                });
                /*.catch(function(err){
                    console.log("22222");
                    console.log(err);
                    cb({code:-1,msg:err});
                })*/
            }
        ],function(err,result){
            if(err){
                res.json({code:-1});
            }else{
                if(result.code === 0){
                    res.json({code:0});
                }else{
                    res.json({code:-1});
                }
            }
        });
    },

    city_manager_index:function(req,res,next){
        BaseData.cityManagerList().then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        });
    },
    show_auth_list:function(req,res,next){
        BaseData.all({model:'Ucenter_Member',where:{status:[0,1,2,-1]}}).then(function(data){
            console.log(data);
            if(data){
                res.json(data);
            }else{
                res.json([]);

            }
        }).catch(function(){
            res.json([]);
        });
    },
    deleteOne_user:function(req,res,next){
        var ids = req.query.ids;
        BaseData.destroy({model:"Ucenter_Member",where:{id:ids}}).then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json(err);
        });

    },
    deleteAll_user:function(req,res,next){
        BaseData.destroyAll().then(function(){

        });
    },
    change_user_status:function(req,res,next){
        var ids = req.query.ids;
        var status = req.query.status ;
        BaseData.updateAll({model:"Ucenter_Member",where:{id:ids},data:{status:status}}).then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json(err);
        });

    },
    change_city_status:function(req,res,next){
        var ids = req.query.ids;
        var status = req.query.status ;
        BaseData.updateAll({model:"Area",where:{id:ids},data:{status:status}}).then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json(err);
        });
    },
    deleteOne_city:function(req,res,next){
        var ids = req.query.ids;
        BaseData.destroy({model:"Area",where:{id:ids}}).then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json(err);
        });

    },

    addMenu:function(){


    },

    //config配置
    add_or_edit_config:function(req,res,next){
        if(req.query.hasOwnProperty('config')){
            //编辑
            res.render('basedata/addConfig',{config:req.query.config});
        }else{
            //新增
            res.render('basedata/addConfig',{config:''});
        }
    },
    show_config_list:function(req,res,next){
        //获取配置列表
        BaseData.all({model:'Config',where:''}).then(function(data){
            console.log(11111111111);
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json([]);
        });
    } ,
    save_config_list:function(req,res,next){
        var config = JSON.parse(req.query.config);
        console.log(config);
        //获取配置列表
        BaseData.upsert({model:'Config',data:config}).then(function(data){
            console.log(11111111111);
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json([]);
        });
    },
    deleteOne_config:function(req,res,next){
        var ids = req.query.ids;
        BaseData.destroy({model:"Config",where:{id:ids}}).then(function(data){
            if(data){
                res.json(data);
            }else{
                res.json([]);
            }
        }).catch(function(err){
            res.json(err);
        });

    },

};
